// components/count-down/index.js
// 倒计时是核心
// setTimeout 实现倒计时
// 倒计时的时间得通过父组件传递
// 把倒计时的数字传出去
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    useSlot: Boolean,
    time: {
      type: Number,
      value: 60
    }
  },
  lifetimes: {
    attached() {
      // 组件出现的时候立刻倒计时
      this.countDownStart()
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    countDownStart() {
      let timer = null
      // 清空定时器
      if (this.data.time === 0) return clearTimeout(timer)
      // 时间每次－1
      this.setData({
        time: this.data.time - 1
      })
      // this指向绑定到当前的实例上
      timer = setTimeout(this.countDownStart.bind(this), 1000)
      // 通知页面更新时间
      this.triggerEvent('change', this.data.time)
    }
  }
})